package com.jvm;

public class JVM_11_懒加载 {

    public static void main(String[] args) {

        /**
         * 什么都不会输出
         */
        // P p;
        /**
         * X 继承了P,子类被初始化父类必须加载，输出 P X
         */
        // X x = new X();
        /**
         * 调用 final 不需要初始化
         */
        // System.err.println(P.i);
        /**
         * 调用静态变量会先初始化当前类，输出 P 9
         */
        // System.err.println(P.j);
    }

    public static class P {
        final static int i = 8;
        static int j = 9;
        static {
            System.err.println("P");
        }
    }

    public static class X extends P {
        static {
            System.err.println("X");
        }
    }
}
